﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;

namespace Acoris.Rendering
{
    using Acoris.Core;
    using Acoris.Text;
    using Acoris.Foundation;
    using Acoris.Template;
    using Acoris.Rendering;

    public sealed class RenderTask:IDisposable
    {
        // 渲染树
        internal RenderTree m_renderingTree;

        internal long m_startStamp;                     // 该变量用于记录一次渲染任务的CPU确切耗时
        internal long m_endStamp;                       // 用于记录调试所需的性能数据
        internal Stopwatch m_perfomerCounter;           //
                                                        //

        internal Pointer m_pointer;                     // 渲染元素的位置并不会保存在VisualElement之中
                                                        // 而是存储在RenderTask之中，RenderTask表示
                                                        // 一个渲染文档所有包含的资源（布局、位置、样式、文档内容）
                                                        // 
        internal CoreTemplateEngine m_templateEngine;
        
        internal RenderTask()
        {
            m_perfomerCounter = new Stopwatch();
            m_renderingTree = new RenderTree();
            m_templateEngine = new CoreTemplateEngine();
        }

        public void Dispose()
        {
            
        }
    }
}
